/*
 * MODULE NAME:    papi_impl.h
 * DESCRIPTION:    Win32 specific PAPI implementation header
 * AUTHOR:         Martin Mellody
 * DATE:           10 March 2000
 *
 * SOURCE CONTROL: $Id: papi_impl.h,v 1.2 2008/03/27 09:05:12 tianwq Exp $
 *
 * LICENSE:
 *     This source code is copyright (c) 2000-2002 RDA Microelectronics.
 *     All rights reserved.
 */


#ifndef PAPI_IMPL_H
#define PAPI_IMPL_H

#include "platform_config.h"

#define pINLINEFUNC _inline

#define pMemcpy memcpy
#define pMemset memset
#define pMemcmp memcmp
#define pMemchr memchr
#define pStrcmp strcmp
#define pStrncmp strncmp
#define pStrlen strlen
#define pStrcpy strcpy
#define pStrncpy strncpy

#ifndef __size_t
#define __size_t 1
typedef u_int size_t;
#endif

typedef u_int8 t_pMutex;
typedef u_int8 t_pEvent;
typedef u_int8 t_pTimer;

#if pDEBUG
#define pDebugPrintfEX(args)                 
#define pDebugPrintf(args)                   
#define pDebugDumpEX(level,layer,buf,len)    
#define pDebugDump(level,buf,len)            
#define pDebugCheck()                         
#endif

void BT_COMBINED_Platform_Initialise(void);
void BT_COMBINED_Platform_Shutdown(void);


void BT_Sleep_COMBINED(u_int32 millisec);
void BT_WakeUpScheduler_COMBINED(void);

#define pSleep(millisec)    BT_Sleep_COMBINED(millisec)

#define pWakeUpScheduler()      BT_WakeUpScheduler_COMBINED()


#endif /* PAPI_IMPL_H */

